//
//  BBCoverFlowView.h
//  BBCoverFlowTest
//
//  Created by ben smith on 2/10/08.
//  Copyright 2008 __MyCompanyName__. All rights reserved.
//

#import <Cocoa/Cocoa.h>
#import <QuartzCore/QuartzCore.h>
#import "BBImageView.h"

@interface BBCoverFlowView : BBImageView {
	CALayer * containerLayer;
	CGImageRef shadowImage;

	CALayer * delegateLayer;
	CGFloat scrollAccumulator;
	CGFloat swipeAccumulator;
	NSInteger startIndex;
	BOOL didScroll;
}

@property (retain) 	CALayer * delegateLayer;

- (CALayer*)coverLayer;
- (CALayer*)layerWithName:(NSString*)name;
- (IBAction)thing:(id)sender;
- (NSImage *)mipmapfromImage:(NSImage*)anImage;
- (NSString*)firstPicInDirectory:(NSString*)aDir;
- (id)initWithFrame:(NSRect)frame ;
- (void) dealloc;
- (void)addImageFiles:(NSArray*)fileNames;;
- (void)animationDidStop:(CAAnimation *)theAnimation finished:(BOOL)flag;
- (void)awakeFromNib;
- (void)blobDownEvent:(NSNotification*)note;
- (void)closeDirectory;
- (void)coverFlowMouseDown:(NSEvent*)theEvent;
- (void)drawRect:(NSRect)rect ;
- (void)handleButtonLayout;
- (void)handleButtonPress:(CALayer*)buttonLayer;
- (void)handleCloseDirectoryFinish ;
- (void)handleOpenDirectoryFinish ;
- (void)layoutSelected;
- (void)loadImages:(NSArray*)fileNames;
- (void)messMouseDown:(NSEvent*)theEvent;
- (void)mouseDown:(NSEvent*)theEvent;
- (void)openDirectory;
- (void)otherMouseDown:(NSEvent*)theEvent;
- (void)resetLOD;
- (void)setContents:(NSBitmapImageRep*)bitRep mipMap:(NSBitmapImageRep*)mipRep toLayer:(NSString*)name;
- (void)setupLayers;
- (void)sublayer:(CALayer*)layer opacity:(CGFloat)f;

// 31 methods


@end
